home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / Xm / XmDrawnButton.z / XmDrawnButton
Encoding:
Text File  |  2002-10-03  |  33.4 KB  |  529 lines

  1.  
  2.  
  3.  
  4.      XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn - The DrawnButton widget class
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           #include <Xm/DrawnB.h>
  13.  
  14.      VVVVEEEERRRRSSSSIIIIOOOONNNN
  15.           This page documents Motif 2.1.
  16.  
  17.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  18.           The DrawnButton widget consists of an empty widget window
  19.           surrounded by a shadow border. It provides the application
  20.           developer with a graphics area that can have PushButton
  21.           input semantics.
  22.  
  23.           Callback types are defined for widget exposure and widget
  24.           resize to allow the application to redraw or reposition its
  25.           graphics. If the DrawnButton widget has a highlight and
  26.           shadow thickness, the application should not draw in that
  27.           area.  To avoid drawing in the highlight and shadow area,
  28.           create the graphics context with a clipping rectangle for
  29.           drawing in the widget.  The clipping rectangle should take
  30.           into account the size of the widget's highlight thickness
  31.           and shadow.  DrawnButton uses the _X_m_Q_T_m_e_n_u_S_y_s_t_e_m and
  32.           _X_m_Q_T_s_p_e_c_i_f_y_R_e_n_d_e_r_T_a_b_l_e traits, and holds the _X_m_Q_T_a_c_t_i_v_a_t_a_b_l_e
  33.           trait.
  34.  
  35.         CCCCllllaaaasssssssseeeessss
  36.           BulletinBoard inherits behavior, resources, and traits from
  37.           the CCCCoooorrrreeee, CCCCoooommmmppppoooossssiiiitttteeee, CCCCoooonnnnssssttttrrrraaaaiiiinnnntttt, and XXXXmmmmMMMMaaaannnnaaaaggggeeeerrrr classes.
  38.  
  39.           The class pointer is _x_m_D_r_a_w_n_B_u_t_t_o_n_W_i_d_g_e_t_C_l_a_s_s.
  40.  
  41.           The class name is XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn.
  42.  
  43.         NNNNeeeewwww RRRReeeessssoooouuuurrrrcccceeeessss
  44.           The following table defines a set of widget resources used
  45.           by the programmer to specify data. The programmer can also
  46.           set the resource values for the inherited classes to set
  47.           attributes for this widget. To reference a resource by name
  48.           or by class in a ....XXXXddddeeeeffffaaaauuuullllttttssss file, remove the XXXXmmmmNNNN or XXXXmmmmCCCC
  49.           prefix and use the remaining letters. To specify one of the
  50.           defined values for a resource in a ....XXXXddddeeeeffffaaaauuuullllttttssss file, remove
  51.           the XXXXmmmm prefix and use the remaining letters (in either
  52.           lowercase or uppercase, but include any underscores between
  53.           words).  The codes in the access column indicate if the
  54.           given resource can be set at creation time (C), set by using
  55.           XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss (S), retrieved by using XXXXttttGGGGeeeettttVVVVaaaalllluuuueeeessss (G), or is
  56.           not applicable (N/A).
  57.  
  58.                                           XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  59.           NNNNaaaammmmeeee                   CCCCllllaaaassssssss                  TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt              AAAAcccccccceeeessssssss
  60.  
  61.  
  62.  
  63.      Page 1                                          (printed 10/3/02)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  71.  
  72.  
  73.  
  74.           XmNactivateCallback    XmCCallback            XtCallbackList   NULL                 C
  75.           XmNarmCallback         XmCCallback            XtCallbackList   NULL                 C
  76.           XmNdisarmCallback      XmCCallback            XtCallbackList   NULL                 C
  77.           XmNexposeCallback      XmCCallback            XtCallbackList   NULL                 C
  78.           XmNmultiClick          XmCMultiClick          unsigned char    dynamic              CSG
  79.           XmNpushButtonEnabled   XmCPushButtonEnabled   Boolean          False                CSG
  80.           XmNresizeCallback      XmCCallback            XtCallbackList   NULL                 C
  81.           XmNshadowType          XmCShadowType          unsigned char    XmSHADOW_ETCHED_IN   CSG
  82.  
  83.           XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk
  84.                     Specifies the list of callbacks that is called
  85.                     when the widget becomes selected.  The reason sent
  86.                     by the callback is XXXXmmmmCCCCRRRR____AAAACCCCTTTTIIIIVVVVAAAATTTTEEEE.  This callback
  87.                     uses the _X_m_Q_T_a_c_t_i_v_a_t_a_b_l_e trait.
  88.  
  89.           XXXXmmmmNNNNaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk
  90.                     Specifies the list of callbacks that is called
  91.                     when the widget becomes armed.  The reason sent by
  92.                     the callback is XXXXmmmmCCCCRRRR____AAAARRRRMMMM.
  93.  
  94.           XXXXmmmmNNNNddddiiiissssaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk
  95.                     Specifies the list of callbacks that is called
  96.                     when the widget becomes disarmed.  The reason sent
  97.                     by the callback is XXXXmmmmCCCCRRRR____DDDDIIIISSSSAAAARRRRMMMM.
  98.  
  99.           XXXXmmmmNNNNeeeexxxxppppoooosssseeeeCCCCaaaallllllllbbbbaaaacccckkkk
  100.                     Specifies the list of callbacks that is called
  101.                     when the widget receives an exposure event.  The
  102.                     reason sent by the callback is XXXXmmmmCCCCRRRR____EEEEXXXXPPPPOOOOSSSSEEEE.
  103.  
  104.           XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk
  105.                     If a button click is followed by another button
  106.                     click within the time span specified by the
  107.                     display's multiclick time, and this resource is
  108.                     set to XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____DDDDIIIISSSSCCCCAAAARRRRDDDD, the second click is
  109.                     not processed.  If this resource is set to
  110.                     XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP, the event is processed and
  111.                     _c_l_i_c_k__c_o_u_n_t is incremented in the callback
  112.                     structure.  When the button is not in a menu, the
  113.                     default value is XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP.
  114.  
  115.           XXXXmmmmNNNNppppuuuusssshhhhBBBBuuuuttttttttoooonnnnEEEEnnnnaaaabbbblllleeeedddd
  116.                     Enables or disables the 3-dimensional shadow
  117.                     drawing as in PushButton.
  118.  
  119.           XXXXmmmmNNNNrrrreeeessssiiiizzzzeeeeCCCCaaaallllllllbbbbaaaacccckkkk
  120.                     Specifies the list of callbacks that is called
  121.                     when the widget receives a resize event.  The
  122.                     reason sent by the callback is XXXXmmmmCCCCRRRR____RRRREEEESSSSIIIIZZZZEEEE. The
  123.                     event returned for this callback is NULL.
  124.  
  125.           XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTTyyyyppppeeee
  126.  
  127.  
  128.  
  129.      Page 2                                          (printed 10/3/02)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  137.  
  138.  
  139.  
  140.                     Describes the drawing style for the DrawnButton.
  141.                     This resource can have the following values:
  142.  
  143.                     XXXXmmmmSSSSHHHHAAAADDDDOOOOWWWW____IIIINNNN
  144.                               Draws the DrawnButton so that the shadow
  145.                               appears inset. This means that the
  146.                               bottom shadow visuals and top shadow
  147.                               visuals are reversed.
  148.  
  149.                     XXXXmmmmSSSSHHHHAAAADDDDOOOOWWWW____OOOOUUUUTTTT
  150.                               Draws the DrawnButton so that the shadow
  151.                               appears outset.
  152.  
  153.                     XXXXmmmmSSSSHHHHAAAADDDDOOOOWWWW____EEEETTTTCCCCHHHHEEEEDDDD____IIIINNNN
  154.                               Draws the DrawnButton using a double
  155.                               line. This gives the effect of a line
  156.                               etched into the window. The thickness of
  157.                               the double line is equal to the value of
  158.                               XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTThhhhiiiicccckkkknnnneeeessssssss.
  159.  
  160.                     XXXXmmmmSSSSHHHHAAAADDDDOOOOWWWW____EEEETTTTCCCCHHHHEEEEDDDD____OOOOUUUUTTTT
  161.                               Draws the DrawnButton using a double
  162.                               line. This gives the effect of a line
  163.                               coming out of the window. The thickness
  164.                               of the double line is equal to the value
  165.                               of XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTThhhhiiiicccckkkknnnneeeessssssss.
  166.  
  167.         IIIInnnnhhhheeeerrrriiiitttteeeedddd RRRReeeessssoooouuuurrrrcccceeeessss
  168.           DrawnButton inherits behavior and resources from the
  169.           superclasses described in the following tables.  For a
  170.           complete description of each resource, refer to the
  171.           reference page for that superclass.
  172.  
  173.                                                      XXXXmmmmLLLLaaaabbbbeeeellll RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  174.           NNNNaaaammmmeeee                        CCCCllllaaaassssssss                       TTTTyyyyppppeeee                DDDDeeeeffffaaaauuuulllltttt                  AAAAcccccccceeeessssssss
  175.           XmNaccelerator              XmCAccelerator              String              NULL                     N/A
  176.           XmNacceleratorText          XmCAcceleratorText          XmString            NULL                     N/A
  177.           XmNalignment                XmCAlignment                unsigned char       dynamic                  CSG
  178.           XmNfontList                 XmCFontList                 XmFontList          dynamic                  CSG
  179.           XmNlabelInsensitivePixmap   XmCLabelInsensitivePixmap   Pixmap              XmUNSPECIFIED_PIXMAP     CSG
  180.           XmNlabelPixmap              XmCLabelPixmap              Pixmap              XmUNSPECIFIED_PIXMAP     CSG
  181.           XmNlabelString              XmCXmString                 XmString            "\0"                     CSG
  182.           XmNlabelType                XmCLabelType                unsigned char       XmSTRING                 CSG
  183.           XmNmarginBottom             XmCMarginBottom             Dimension           0                        CSG
  184.           XmNmarginHeight             XmCMarginHeight             Dimension           2                        CSG
  185.           XmNmarginLeft               XmCMarginLeft               Dimension           0                        CSG
  186.           XmNmarginRight              XmCMarginRight              Dimension           0                        CSG
  187.           XmNmarginTop                XmCMarginTop                Dimension           0                        CSG
  188.           XmNmarginWidth              XmCMarginWidth              Dimension           2                        CSG
  189.           XmNmnemonic                 XmCMnemonic                 KeySym              NULL                     N/A
  190.  
  191.  
  192.  
  193.  
  194.  
  195.      Page 3                                          (printed 10/3/02)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  203.  
  204.  
  205.  
  206.           XmNmnemonicCharSet          XmCMnemonicCharSet          String              XmFONTLIST_DEFAULT_TAG   N/A
  207.           XmNrecomputeSize            XmCRecomputeSize            Boolean             True                     CSG
  208.           XmNrenderTable              XmCRenderTable              XmRenderTable       dynamic                  CSG
  209.           XmNstringDirection          XmCStringDirection          XmStringDirection   dynamic                  CSG
  210.  
  211.                                                XXXXmmmmPPPPrrrriiiimmmmiiiittttiiiivvvveeee RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  212.           NNNNaaaammmmeeee                      CCCCllllaaaassssssss                   TTTTyyyyppppeeee               DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  213.           XmNbottomShadowColor      XmCBottomShadowColor    Pixel              dynamic                CSG
  214.           XmNbottomShadowPixmap     XmCBottomShadowPixmap   Pixmap             XmUNSPECIFIED_PIXMAP   CSG
  215.           XmNconvertCallback        XmCCallback             XtCallbackList     NULL                   C
  216.           XmNforeground             XmCForeground           Pixel              dynamic                CSG
  217.           XmNhelpCallback           XmCCallback             XtCallbackList     NULL                   C
  218.           XmNhighlightColor         XmCHighlightColor       Pixel              dynamic                CSG
  219.           XmNhighlightOnEnter       XmCHighlightOnEnter     Boolean            False                  CSG
  220.           XmNhighlightPixmap        XmCHighlightPixmap      Pixmap             dynamic                CSG
  221.           XmNhighlightThickness     XmCHighlightThickness   Dimension          2                      CSG
  222.           XmNlayoutDirection        XmCLayoutDirection      XmDirection        dynamic                CG
  223.           XmNnavigationType         XmCNavigationType       XmNavigationType   XmNONE                 CSG
  224.           XmNpopupHandlerCallback   XmCCallback             XtCallbackList     NULL                   C
  225.           XmNshadowThickness        XmCShadowThickness      Dimension          2                      CSG
  226.           XmNtopShadowColor         XmCTopShadowColor       Pixel              dynamic                CSG
  227.           XmNtopShadowPixmap        XmCTopShadowPixmap      Pixmap             dynamic                CSG
  228.           XmNtraversalOn            XmCTraversalOn          Boolean            True                   CSG
  229.           XmNunitType               XmCUnitType             unsigned char      dynamic                CSG
  230.           XmNuserData               XmCUserData             XtPointer          NULL                   CSG
  231.  
  232.                                                         CCCCoooorrrreeee RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  233.           NNNNaaaammmmeeee                            CCCCllllaaaassssssss                           TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  234.           XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                CSG
  235.           XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
  236.           XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
  237.           XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
  238.           XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
  239.           XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
  240.           XmNborderWidth                  XmCBorderWidth                  Dimension        0                      CSG
  241.           XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
  242.           XmNdepth                        XmCDepth                        int              dynamic                CG
  243.           XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
  244.           XmNheight                       XmCHeight                       Dimension        dynamic                CSG
  245.           XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
  246.           XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
  247.           XmNscreen                       XmCScreen                       Screen *         dynamic                CG
  248.           XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
  249.           XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
  250.           XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
  251.           XmNx                            XmCPosition                     Position         0                      CSG
  252.           XmNy                            XmCPosition                     Position         0                      CSG
  253.  
  254.         CCCCaaaallllllllbbbbaaaacccckkkk IIIInnnnffffoooorrrrmmmmaaaattttiiiioooonnnn
  255.           A pointer to the following structure is passed to each
  256.           callback:
  257.  
  258.  
  259.  
  260.  
  261.      Page 4                                          (printed 10/3/02)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  269.  
  270.  
  271.  
  272.           typedef struct
  273.           {
  274.                   int _r_e_a_s_o_n;
  275.                   XEvent * _e_v_e_n_t;
  276.                   Window _w_i_n_d_o_w;
  277.                   int _c_l_i_c_k__c_o_u_n_t;
  278.           } XmDrawnButtonCallbackStruct;
  279.  
  280.           _r_e_a_s_o_n    Indicates why the callback was invoked.
  281.  
  282.           _e_v_e_n_t     Points to the _X_E_v_e_n_t that triggered the callback.
  283.                     This is NULL for XXXXmmmmNNNNrrrreeeessssiiiizzzzeeeeCCCCaaaallllllllbbbbaaaacccckkkk.
  284.  
  285.           _w_i_n_d_o_w    Is set to the window ID in which the event
  286.                     occurred.
  287.  
  288.           _c_l_i_c_k__c_o_u_n_t
  289.                     Contains the number of clicks in the last
  290.                     multiclick sequence if the XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk resource
  291.                     is set to XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP, otherwise it contains
  292.                     1.  The activate callback is invoked for each
  293.                     click if XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkkis set to XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP.
  294.  
  295.         TTTTrrrraaaannnnssssllllaaaattttiiiioooonnnnssss
  296.           XmDrawnButton includes translations from Primitive.
  297.           Additional XmDrawnButton translations are described in the
  298.           following list.  The following key names are listed in the X
  299.           standard key event translation table syntax.  This format is
  300.           the one used by Motif to specify the widget actions
  301.           corresponding to a given key.  A brief overview of the
  302.           format is provided under VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss(3).  For a complete
  303.           description of the format, please refer to the X Toolkit
  304.           Instrinsics Documentation.
  305.  
  306.           cccc<<<<BBBBttttnnnn1111DDDDoooowwwwnnnn>>>>:
  307.                     ButtonTakeFocus()
  308.  
  309.           ~~~~cccc<<<<BBBBttttnnnn1111DDDDoooowwwwnnnn>>>>:
  310.                     Arm()
  311.  
  312.           ~~~~cccc<<<<BBBBttttnnnn1111DDDDoooowwwwnnnn>>>>,,,,~~~~cccc<<<<BBBBttttnnnn1111UUUUpppp>>>>:
  313.                     Activate() Disarm()
  314.  
  315.           ~~~~cccc<<<<BBBBttttnnnn1111DDDDoooowwwwnnnn>>>>((((2222++++)))):
  316.                     MultiArm()
  317.  
  318.           ~~~~cccc<<<<BBBBttttnnnn1111UUUUpppp>>>>((((2222++++)))):
  319.                     MultiActivate()
  320.  
  321.           ~~~~cccc<<<<BBBBttttnnnn1111UUUUpppp>>>>:
  322.                     Activate() Disarm()
  323.  
  324.  
  325.  
  326.  
  327.      Page 5                                          (printed 10/3/02)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  335.  
  336.  
  337.  
  338.           ::::<<<<KKKKeeeeyyyy>>>><<<<oooossssffffAAAAccccttttiiiivvvvaaaatttteeee>>>>:
  339.                     PrimitiveParentActivate()
  340.  
  341.           ::::<<<<KKKKeeeeyyyy>>>><<<<oooossssffffCCCCaaaannnncccceeeellll>>>>:
  342.                     PrimitiveParentCancel()
  343.  
  344.           ::::<<<<KKKKeeeeyyyy>>>><<<<oooossssffffSSSSeeeelllleeeecccctttt>>>>:
  345.                     ArmAndActivate()
  346.  
  347.           ::::<<<<KKKKeeeeyyyy>>>><<<<oooossssffffHHHHeeeellllpppp>>>>:
  348.                     Help()
  349.  
  350.           ~~~~ssss ~~~~mmmm ~~~~aaaa <<<<KKKKeeeeyyyy>>>>RRRReeeettttuuuurrrrnnnn:
  351.                     PrimitiveParentActivate()
  352.  
  353.           ~~~~ssss ~~~~mmmm ~~~~aaaa <<<<KKKKeeeeyyyy>>>>ssssppppaaaacccceeee:
  354.                     ArmAndActivate()
  355.  
  356.         AAAAccccttttiiiioooonnnn RRRRoooouuuuttttiiiinnnneeeessss
  357.           The XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn action routines are
  358.  
  359.           Activate():
  360.                     If XXXXmmmmNNNNppppuuuusssshhhhBBBBuuuuttttttttoooonnnnEEEEnnnnaaaabbbblllleeeedddd is True, redraws the
  361.                     shadow in the unselected state; otherwise, redraws
  362.                     the shadow according to XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTTyyyyppppeeee.  If the
  363.                     pointer is within the DrawnButton, calls the
  364.                     XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk callbacks.
  365.  
  366.           Arm():    If XXXXmmmmNNNNppppuuuusssshhhhBBBBuuuuttttttttoooonnnnEEEEnnnnaaaabbbblllleeeedddd is True, redraws the
  367.                     shadow in the selected state; otherwise, redraws
  368.                     the shadow according to XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTTyyyyppppeeee.  Calls the
  369.                     callbacks for XXXXmmmmNNNNaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk.
  370.  
  371.           ArmAndActivate():
  372.                     If XXXXmmmmNNNNppppuuuusssshhhhBBBBuuuuttttttttoooonnnnEEEEnnnnaaaabbbblllleeeedddd is True, redraws the
  373.                     shadow in the selected state; otherwise, redraws
  374.                     the shadow according to XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTTyyyyppppeeee.  Calls the
  375.                     callbacks for XXXXmmmmNNNNaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk.
  376.  
  377.                     If XXXXmmmmNNNNppppuuuusssshhhhBBBBuuuuttttttttoooonnnnEEEEnnnnaaaabbbblllleeeedddd is True, the shadow is
  378.                     redrawn in the unselected state; otherwise, the
  379.                     shadow is redrawn according to XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTTyyyyppppeeee.  The
  380.                     callbacks for XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk and
  381.                     XXXXmmmmNNNNddddiiiissssaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkkare called.  These actions happen
  382.                     either immediately or at a later time.
  383.  
  384.           ButtonTakeFocus():
  385.                     Causes the PushButton to take keyboard focus when
  386.                     CCCCttttrrrrllll<<<<BBBBttttnnnn1111DDDDoooowwwwnnnn>>>> is pressed, without activating the
  387.                     widget.
  388.  
  389.           Disarm(): Marks the DrawnButton as unselected and calls the
  390.  
  391.  
  392.  
  393.      Page 6                                          (printed 10/3/02)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  401.  
  402.  
  403.  
  404.                     callbacks for XXXXmmmmNNNNddddiiiissssaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk.
  405.  
  406.           Help():   Calls the callbacks for XXXXmmmmNNNNhhhheeeellllppppCCCCaaaallllllllbbbbaaaacccckkkk if any
  407.                     exist.  If there are no help callbacks for this
  408.                     widget, this action calls the help callbacks for
  409.                     the nearest ancestor that has them.
  410.  
  411.           MultiActivate():
  412.                     If XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk is XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____DDDDIIIISSSSCCCCAAAARRRRDDDD, this
  413.                     action does nothing.
  414.  
  415.                     If XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk is XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP, this action
  416.                     increments _c_l_i_c_k__c_o_u_n_t in the callback structure.
  417.                     If XXXXmmmmNNNNppppuuuusssshhhhBBBBuuuuttttttttoooonnnnEEEEnnnnaaaabbbblllleeeedddd is True, this action
  418.                     redraws the shadow in the unselected state;
  419.                     otherwise, it redraws the shadow according to
  420.                     XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTTyyyyppppeeee.  If the pointer is within the
  421.                     DrawnButton, this action calls the
  422.                     XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk callbacks and calls the
  423.                     callbacks for XXXXmmmmNNNNddddiiiissssaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk.
  424.  
  425.           MultiArm():
  426.                     If XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk is XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____DDDDIIIISSSSCCCCAAAARRRRDDDD, this
  427.                     action does nothing.
  428.  
  429.                     If XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk is XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP and if
  430.                     XXXXmmmmNNNNppppuuuusssshhhhBBBBuuuuttttttttoooonnnnEEEEnnnnaaaabbbblllleeeedddd is True, this action redraws
  431.                     the shadow in the selected state; otherwise, it
  432.                     redraws the shadow according to XXXXmmmmNNNNsssshhhhaaaaddddoooowwwwTTTTyyyyppppeeee and
  433.                     calls the callbacks for XXXXmmmmNNNNaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk.
  434.  
  435.         AAAAddddddddiiiittttiiiioooonnnnaaaallll BBBBeeeehhhhaaaavvvviiiioooorrrr
  436.           This widget has the following additional behavior:
  437.  
  438.           <<<<EEEEnnnntttteeeerrrrWWWWiiiinnnnddddoooowwww>>>>:
  439.                     Draws the shadow in its selected state if
  440.                     XXXXmmmmNNNNppppuuuusssshhhhBBBBuuuuttttttttoooonnnnEEEEnnnnaaaabbbblllleeeedddd is True and if the cursor
  441.                     leaves and re-enters the window while BBBBSSSSeeeelllleeeecccctttt is
  442.                     pressed.
  443.  
  444.           <<<<LLLLeeeeaaaavvvveeeeWWWWiiiinnnnddddoooowwww>>>>:
  445.                     Draws the shadow in its unselected state if
  446.                     XXXXmmmmNNNNppppuuuusssshhhhBBBBuuuuttttttttoooonnnnEEEEnnnnaaaabbbblllleeeeddddis True and if the cursor
  447.                     leaves the window while BBBBSSSSeeeelllleeeecccctttt is pressed.
  448.  
  449.         VVVViiiirrrrttttuuuuaaaallll BBBBiiiinnnnddddiiiinnnnggggssss
  450.           The bindings for virtual keys are vendor specific.  For
  451.           information about bindings for virtual buttons and keys, see
  452.           VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss(3).
  453.  
  454.      RRRREEEELLLLAAAATTTTEEEEDDDD
  455.           CCCCoooorrrreeee(3), XXXXmmmmCCCCrrrreeeeaaaatttteeeeDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn, XXXXmmmmLLLLaaaabbbbeeeellll(3), XXXXmmmmPPPPrrrriiiimmmmiiiittttiiiivvvveeee(3),
  456.  
  457.  
  458.  
  459.      Page 7                                          (printed 10/3/02)
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))         UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV         XXXXmmmmDDDDrrrraaaawwwwnnnnBBBBuuuuttttttttoooonnnn((((3333XXXX))))
  467.  
  468.  
  469.  
  470.           XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnn, and XXXXmmmmSSSSeeeeppppaaaarrrraaaattttoooorrrr(3).
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.      Page 8                                          (printed 10/3/02)
  526.  
  527.  
  528.  
  529.